#ifndef Class_H
#define Class_H

#ifdef __cplusplus
extern "C" {
#endif

#include "__api.h"

#define __begclass(x) struct x {
#define __endclass };

#define __function
#define __function
#define __begvoid(x, y) x##y(x * nt##x
#define __begheader(x, y) x##y(x * nt##x,
#define __voidheader(x, y) x##y(void * nt##x,
#define __procedure(x, y) __stdcall x##y(
#define __stdprocedure(x, y) x##y(
#define __endheader );
#define __begbody  ) {
#define __endbody  }
#define __name(x, y) x##y
#define __public extern __api
#define __private static
#define __dsingleton(x) static x m##x; \
	__api x * get##x();
#define __bsingleton(x) x * get##x(){return &m##x;}
#define __instance(x) get##x();
#define __this(x) nt##x
#define __begfun(x, y, z) y##z(x,
#define __endfun );
#define __voidfun(x, y, z) y##z(x);



#ifdef __cplusplus
}
#endif
#endif // Class_H

